iT邦幫忙

2022 iThome 鐵人賽

DAY 30
1
Modern Web

Rails,我要進來囉系列 第 30

第三十天:挑戰總結 - 有開源真好

  • 分享至 

  • xImage
  •  

三十天內容:

  1. 第一天:來個開場白,這系列的走向?
  2. 第二天:在 RailsGuides 無意間掏到寶藏?!
  3. 第三天:為什麼 Rails 不需要常常使用 require?Rails 的 autoloading 是什麼魔法?
  4. 第四天:Ruby + ActiveSupport = Ruby 穿全身+9神裝!
  5. 第五天:稍微深入 ActiveSupport 一點點,一起來看點 source code
  6. 第六天:躲在 Rails 背後默默付出的幕後功臣 - ActiveJob
  7. 第七天:ActionMailer 跟 Controller 很像!?
  8. 第八天:ActionMailer 串 AWS SES 寄信
  9. 第九天:ActionCable = Rails + websocket
  10. 第十天:用 ActionCable 做出簡易聊天室
  11. 第十一天:關於 Webpacker 打包那回事
  12. 第十二天:實驗用 webpacker 打包 js+css+font+image 資源檔
  13. 第十三天:關於 Asset Pipeline 打包那回事
  14. 第十四天:實驗用 Asset Pipeline 打包 js+css+font+image 資源檔
  15. 第十五天:用 webpacker 使用第三方前端套件
  16. 第十六天:初探 Rails7 預設的 importmap,結果慘不忍睹…?!
  17. 第十七天:在 Rails 7 用 jsbundling + webpack 安裝並使用 bootstrap
  18. 第十八天:在 Rails 7 用 jsbundling + esbuild 安裝並使用 bootstrap
  19. 第十九天:在 Rails 7 使用 esbuild 來試用 React JS
  20. 第二十天:在 Rails 7 + React JS 做出圈圈叉叉(Tic Tac Toe)
  21. 第二十一天:網頁如何支援多國語言?Rails 的 i18n
  22. 第二十二天:Rails 官方內建的測試框架 - Minitest
  23. 第二十三天:Rails 的 Command Line 工具,發現好多酷東東
  24. 第二十四天:Rails 的各種神奇設定 - Rails Configuration
  25. 第二十五天:Rack 到底是什麼?跟 Rails 有什麼關係?那 Rake 又是什麼?
  26. 第二十六天:Rails 的 Caching
  27. 第二十七天:Rails 的 API-only mode,只做 API Server 需要用到 Rails 嗎?
  28. 第二十八天:讓 Rails 接多個資料庫 - Multiple Databases
  29. 第二十九天:Rails 的 Security,Rails 開發者需要注意哪些攻擊方法?
  30. 第三十天:挑戰總結 - 有開源真好

參賽原因

從上份工作開始接觸 Rails,到現在將近兩年,一直對 Rails 是有種「有點熟、又不太熟」的感覺,因為前公司用 Rails 大部分是作為 API Server,只有少數專案會碰到 Rails 的前端,最讓我害怕的就是各種要調用 JS 的功能,還有部署的時候遇到 assets:precompile 的各種錯誤

原因就是我根本不懂 Rails 前端的運作原理,到前幾個月我離職後,想自己用 Rails 做點 side project,才發現,我根本沒有本錢自己一個人做網站啊

原本離職後想做的是經營自己的 Youtube 頻道,想說如果運氣好,可能可以搭上這波 Youtuber 的順風車,但無奈,純做程式教學的頻道實在是吃力不討好,在 YT 會認真看教學的人本來就偏少,再加上沒辦法在頻道早期就拿到業配收入,讓我開始各種焦慮、幻想存款見底的那一天該怎麼辦

心想,反正最壞的情況就是再回去找工作上班,那不如就趁這段期間,參加鐵人賽,幫自己充個電,把不足的技能給補起來,所以就這樣參賽了

賽後感想

三十天的文章,其中有十天是關於前端的部分,就知道我真的對 Rails 前端非常有怨念XD,也趁這次機會,偷學了一點 React 的基礎,做了個簡單的應用,事後我還有做了個 Rails + React 的 Todo List 小專案,還順便把 Rails 各時代的前端打包探索了一遍,從 Asset PipelineWebpacker 再到 esbuild,有感覺到 Rails 一直在求進步,讓 Rails 的前端可以跟上時代

除了 Rails 的前端之外,還有補足了我對 Rails 沒有很熟的部分,像是 AciontMailerActionCableActiveSupport 等等超常見的 Rails 組件,再加上一些更細節的 Rails 處理,像是 CommandLine、Configuration,能讓我對 Rails 的掌握度更完整

也趁這次機會,利用一點時間,稍微窺探了一點 Rails 的 source code,雖然對我自己來說沒有什麼實際幫助,但讓我了解到,Rails 這麼大的一個框架,也是由這一點一點的程式碼組成,覺得很有幸能夠參與在這個開源時代,能使用的資源非常多,要付出的只有時間,只要肯付出時間跟努力就能學到各種技術,真的覺得很幸運

下一步

再來要繼續面對我僅剩不多自由時間了,我想把這次參賽的經驗繼續擴展,利用 Rails + React 多做幾個 Side Project,再把過程跟結果剪成影片發到 YT,想推廣一下寫程式的好玩,還有寫程式到底能做些什麼,希望能讓更多人一起加入寫程式的行列

我覺得寫程式本身是開心的,尤其是做出成果、做出專案的時候,那種成就感實在是別的事情沒辦法比的,想讓更多人體驗這件事~

想對程式新手說的話

不要被一堆專有名詞嚇到,剛進入每個領域本來就是會接觸大量的專有名詞,這是很正常的事,在我經營 YT 頻道的幾個月,最常被問到的問題,就是「我 xxx,這樣適不適合學程式?」,xxx 可以套入文組個性急躁沒耐心沒經驗數學不好 等等形容詞

我想對你們說,真的不必給自己這麼多限制,去試試看就知道能不能了,先從一個簡單的想法開始,試著去實現它,可能是「我想要寫出第一支程式」、「我想要幫自己架個部落格」等等的,然後再搜尋相關的資料,現在 Youtube 已經有很多免費的教學影片了,就跟著一部影片好好做,雖然一部動輒半小時、一小時的影片,看起來真的很無聊,但相信我,做完之後你會很有成就感,這可以推動你設定下一個目標

雖然很害怕是一定的,但我還是要跟你說,不用害怕,做做看就知道了,做的過程也一定會遇到很多困難、遇到是影片沒講到的點,這都是很正常的,就跟玩遊戲一樣,哪有一開始就玩得很好的,把這個過程當作是在農小怪吧,是必經的過程,沒什麼大不了的

最後想説,你們也可以嘗試給自己訂一個主題,然後試著以「寫出三十天圍繞主題的文章」為目標,一開始可以先從簡單的筆記開始,像是「標題:原來終端機有這些指令,內文:$ cd xx 是切換資料夾、$ ls 是檢查當前資料夾內容」等等的筆記,每一篇筆記都是你的養分,最後再把筆記們整理出有系統的文章,如果有人輔助你們的話,對學習來說絕對是大加分,如果需要指導我可以貢獻一點綿薄之力,可以留言給我,我盡可能以我能力所及幫助你們,感謝大家把我文章看完,謝謝~


2022/10/16 更新:

終於剪好心得影片了XD

Yes


上一篇
第二十九天:Rails 的 Security,Rails 開發者需要注意哪些攻擊方法?
系列文
Rails,我要進來囉30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
Robin
iT邦新手 2 級 ‧ 2022-10-29 22:30:59

辛苦了xDD 只能推了

Sam iT邦新手 4 級 ‧ 2022-10-30 10:36:21 檢舉

Robin 好久不見~~

我要留言

立即登入留言